1. Field of the Invention
The present invention generally relates to integrated development environments. More particularly, the present invention relates to providing programming assistance in integrated development environments.
2. Description of the Related Art
Databases are computerized information storage and retrieval systems. A relational database management system is a computer database management system (DBMS) that uses relational techniques for storing and retrieving data. The most prevalent type of database is the relational database, a tabular database in which data is defined so that it can be reorganized and accessed in a number of different ways. A distributed database is one that can be dispersed or replicated among different points in a network. An object-oriented programming database is one that is congruent with the data defined in object classes and subclasses.
Historically, databases were implemented in a two-tier client-server architecture in which a database was managed by a database server. In such an architecture, the database server was accessed by clients executing appropriate logic. More recently, a three-tier architecture has become popular. In a three-tier architecture the client does not directly access a DBMS. Rather, client requests are received by an application server which then takes steps to access a backend database.
Regardless of the particular architecture, in a DBMS, a requesting entity (e.g., an application or the operating system) demands access to a specified database by issuing a database access request. Such requests may include, for instance, simple catalog lookup requests or transactions and combinations of transactions that operate to read, change and add specified records in the database. These requests are made using high-level query languages such as the Structured Query Language (SQL). Illustratively, SQL is used to make interactive queries for getting information from and updating a database such as International Business Machines' (IBM) DB2, Microsoft's Access, and database products from Oracle, Sybase, and Computer Associates. The term “query” denominates a set of commands for retrieving data from a stored database. Queries take the form of a command language that lets programmers and programs select, insert, update, find out the location of data, and so forth. In addition, SQL provides a programming interface.
Often, programs used to access a database are written in Java. Java is an object-oriented programming language developed by Sun Microsystems, Inc. The developers of Java intended the language to be platform-neutral. That is, they intended for Java programs to be developed on any first computer, and then executed on any second computer, independent of the operating systems controlling either of the computers.
In the case where a Java program requires access to a database, the program can employ Java Database Connectivity (JDBC) and its associated JDBC drivers. JDBC is an application program interface (API) specification for connecting programs written in Java to the data in a database. Through JDBC, programs written in Java may access many popular databases using standard SQL protocol. More specifically, a Java program can use JDBC to establish a connection with a database, send SQL statements to the database, process a result from the database and return a result to the Java program. JDBC is a call-level interface, meaning that it consists of a set of function calls in a high-level application programming language, such as C, C++ or Java. A JDBC driver implements an API that supports a particular database system. An application program may call JDBC functions to store, retrieve or delete data. In response to these calls, the driver generates SQL statements that are suited to the particular database management system.
A pervasive concern with Java is its lack of performance capabilities as compared to procedural languages, and even other object oriented languages. As a result, much effort is spent on trying to improve its performance capabilities, particularly its capability of accessing a database through JDBC. One specific area that needs significant improvement is the manner in which calls to services, such as SQL, through JDBC are made. Java codes are often developed and executed without regard to their corresponding SQL statements' capability, which creates unnecessary objects and performance inefficiency when the calls are made.
A significant need, therefore, exists in the art for improved methods and apparatus for accessing database through JDBC.